<?php
/**
 * @brief Metoda generująca formularz rejestracyjny
 */
class Application_Form_Signup extends Zend_Form
{
    /**
     * @brief Metoda inicjująca
     * 
     * Metoda generująca obligatoryjne kontrolki formularza rejestracyjnego.
     * Zawiera:
     * - Pole tekstowe na login
     * - Pole tekstowe na hasło
     * - Pole tekstowe na powtórzenie hasła
     * - Pole tekstowe na adres email
     * - Pole tekstowe na imię
     * - Pole tekstowe na drugie imię
     * - Pole tekstowe na nazwisko
     * - Sub-formularz na adres
     * - Przycisk akceptacji danych z formularza  
     */
    public function init()
    {
        $this->setName('Rejestracja');
        $this->setMethod('post');
        //$this->setAction('process-sign-up');//
        //dodanie pola na login
        $this->addElement('text','login', array(
           'label'=>'Login:', 
           'required'=>true,
           'filters'    => array('StringTrim'),
           'validators' => array(
               array('Db_NoRecordExists', true, array('table'=>'MarketEntity','field'=>'login')),
           )
        ));
        //dodanie pola na hasło
        $this->addElement('password','password', array(
            'label'=> 'Podaj hasło:',
            'required'=>true,
            'filters'    => array('StringTrim'),
        ));
        //dodanie pola na powótrzenie hasła
        $this->addElement('password','verifypassword',array(
            'label'=>'Powtórz hasło:',
            'reqquired'=>true,
            'filters'    => array('StringTrim'),
            'validators' => array(
                                array('identical', true, array('password')))
        ));
        //dodanie pola na emial
        $this->addElement('text','email', array(
            'label'=> 'Email:',
            'required'      =>true,
            'validators'    => array(
                                    'EmailAddress'
                                 )
        ));
        //dodanie pola na imię
        $this->addElement('text','name', array(
            'label'         => 'Imię',
            'filters'       => array('StringTrim'),
            'required'      =>true,  
        ));
        //dodanie pola na drugie
        $this->addElement('text','name2', array(
            'label'     => 'Drugie imię:',
            'required'  => false,
            'filters'   => array('StringTrim'),
            
        ));
        //dodanie pola na nazwisko
        $this->addElement('text','surname', array(
            'label'     => 'Nazwisko:',
            'required'  =>true,
            'filters'   => array('StringTrim'),
        ));
        

        //utworzenie subformularza na adres
        $subform = new Zend_Form_SubForm();
        //dodanie do subformularza pola na nazwę ulicy
        $subform->addElement('text', 'street', array(
           'label' => 'Ulica',
           'required'=>true,
           'filters'=>array('StringTrim'),
        ));
        //dodanie do subformularza pola na numer budynku
        $subform->addElement('text', 'number', array(
           'label' => 'Numer',
           'required'=>true,
           'filters'=>array('StringTrim'),
        ));
        //dodanie do subformularza pola na numer mieszkania
        $subform->addElement('text', 'flat', array(
           'label' => 'Nr mieszkania',
           'filters'=>array('StringTrim'),
        ));
        //dodanie do subformularza pola na kod pocztowy
        $subform->addElement('text', 'postcode', array(
           'label' => 'Kod pocztowy',
           'required'=>true,
           'filters'=>array('StringTrim'),
        ));
        //dodanie do subformularza pola na miasto
        $subform->addElement('text', 'city', array(
           'label' => 'Miasto',
           'required'=>true,
           'filters'=>array('StringTrim'),
        ));
        //dodanie subformularza
        $this->addSubForm($subform,'address');
        //dodanie przycisku rejestracji
        $this->addElement('submit','submit',array(
           'ignore'=>true, 
           'label'=>'Rejestracja',
        ));
        

    }


}

